
public class SpellCreator 
{
    // Copies info from another spell to this new one
    // Used with Player.attack() to create a new spell from the active spell
    static Spell copy(double modifier, Spell s, boolean playerSpell, int x, int y, Direction direction)
    {
        return new Spell(
                playerSpell,
                x,
                y,
                direction,
                modifier,
                s.damage,
                s.manaCost,
                s.distanceMax,
                s.element,
                s.filePath
                );
    }
    
    static Spell fire1(double modifier, boolean playerSpell, int x, int y, Direction direction)
    {
        return new Spell(
                playerSpell,
                x,
                y,
                direction, 
                modifier,
                Spell.DAMAGE_LEVEL_1,
                Spell.MANACOST_LEVEL_1,
                Spell.DISTANCE_LEVEL_1,
                Element.Fire,
                "src/images/Spells/Fire1.png"
                );
    }   
    static Spell water1(double modifier, boolean playerSpell, int x, int y, Direction direction)
    {
        return new Spell(
                playerSpell,
                x,
                y,
                direction, 
                modifier,
                Spell.DAMAGE_LEVEL_1,
                Spell.MANACOST_LEVEL_1,
                Spell.DISTANCE_LEVEL_1,
                Element.Water,
                "src/images/Spells/Water1.png"
                );
    }   
    static Spell wind1(double modifier, boolean playerSpell, int x, int y, Direction direction)
    {
        return new Spell(
                playerSpell,
                x,
                y,
                direction, 
                modifier,
                Spell.DAMAGE_LEVEL_1,
                Spell.MANACOST_LEVEL_1,
                Spell.DISTANCE_LEVEL_1,
                Element.Earth,
                "src/images/Spells/Earth1.png"
                );
    }   
    static Spell lightning1(double modifier, boolean playerSpell, int x, int y, Direction direction)
    {
        return new Spell(
                playerSpell,
                x,
                y,
                direction, 
                modifier,
                Spell.DAMAGE_LEVEL_1,
                Spell.MANACOST_LEVEL_1,
                Spell.DISTANCE_LEVEL_1,
                Element.Lightning,
                "src/images/Spells/Lightning1.png"
                );
    }   
}
